using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CardColorSwitcher")]
	public class CardColorSwitcher : MonoBehaviour
	{
		public enum CardColorType
		{
			TYPE_GENERIC,
			TYPE_WARLOCK,
			TYPE_ROGUE,
			TYPE_DRUID,
			TYPE_SHAMAN,
			TYPE_HUNTER,
			TYPE_MAGE,
			TYPE_PALADIN,
			TYPE_PRIEST,
			TYPE_WARRIOR,
			TYPE_DEATHKNIGHT
		}

		public List<Texture> spellCardTextures => method_3<Class251<Texture>>("spellCardTextures")?.method_25();

		public List<Texture> minionCardTextures => method_3<Class251<Texture>>("minionCardTextures")?.method_25();

		public List<Texture> heroCardTextures => method_3<Class251<Texture>>("heroCardTextures")?.method_25();

		public Texture m_DeathknightWeaponTexture => method_3<Texture>("m_DeathknightWeaponTexture");

		public CardColorSwitcher(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CardColorSwitcher(IntPtr address)
			: this(address, "CardColorSwitcher")
		{
		}

		public static CardColorSwitcher Get()
		{
			return MonoClass.smethod_15<CardColorSwitcher>(TritonHs.MainAssemblyPath, "", "CardColorSwitcher", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public Texture GetTexture(TAG_CARDTYPE cardType, CardColorType colorType)
		{
			return method_14<Texture>("GetTexture", new object[2] { cardType, colorType });
		}
	}
}
